import random

tup1 = ('红桃', '黑桃', '方块', '梅花')
list1 = []
玩家A = []
玩家B = []
玩家C = []


def initData():
    """
    数据初始化
    """
    for x in tup1:
        for y in range(1, 14):
            if y == 11:
                y = 'J'
            elif y == 12:
                y = 'Q'
            elif y == 13:
                y = 'K'
            elif y == 1:
                y = 'A'
            list1.append(str(x) + str(y))
    list1.append('大王')
    list1.append('小王')
    # 混淆扑克牌
    random.shuffle(list1)


def assignmentCard():
    """
    将洗好的扑克分配给玩家
    """
    for x in range(len(list1) - 3):
        if x % 3 == 0:
            玩家A.append(list1[x])
        elif (x - 1) % 3 == 0:
            玩家B.append(list1[x])
        elif (x - 2) % 3 == 0:
            玩家C.append(list1[x])


def showLandlordCard(list_x):
    """
    显示地主的手牌
    :param list_x: 玩家的手牌
    """
    flag = input('是否选择当地主,输入1表示当地主输入0或是其他符号表示不当地主')
    if flag == '1':
        print('地主的牌是', list_x + list1[-3:])
    else:
        exit()


initData()

assignmentCard()
# print(len(list1))
# print("玩家A的牌", 玩家A)
# print("玩家B的牌", 玩家B)
# print("玩家C的牌", 玩家C)
# print('底牌', list1[-3:])


while True:
    play = input('请输入玩家角色 例如A,B,C然后回车,输入x退出游戏')
    if play.upper() == 'A':
        print("你的牌是", 玩家A)
        showLandlordCard(玩家A)
    elif play.upper() == 'B':
        print("你的牌是", 玩家B)
        showLandlordCard(玩家B)
    elif play.upper() == 'C':
        print("你的牌是", 玩家C)
        showLandlordCard(玩家C)
    elif play.upper() == 'X':
        exit()
    else:
        print('请输入正确的玩家角色')
